package com.glela.serial.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.glela.serial.model.dto.TalentSerialDTO;

/**
 * 达人或讲师编辑和分享的期资讯
 * 
 * @author 卫耀华
 *
 */
public interface TalentSerialEditAndShareMapper {

	/**
	 * 最新
	 * 
	 * @author 卫耀华
	 * @param startIndex
	 * @param pageSize
	 * @return
	 */
	public List<TalentSerialDTO> selectAllTalentSerialNew(@Param("startIndex") int startIndex,
			@Param("pageSize") int pageSize);

	/**
	 * 讲师
	 * 
	 * @author 卫耀华
	 * @param startIndex
	 * @param pageSize
	 * @return
	 */
	public List<TalentSerialDTO> selectTalentSerialByRoleId7(@Param("startIndex") int startIndex,
			@Param("pageSize") int pageSize);

	/**
	 * 达人
	 * 
	 * @author 卫耀华
	 * @param startIndex
	 * @param pageSize
	 * @return
	 */
	public List<TalentSerialDTO> selectTalentSerialByRoleId3456(@Param("startIndex") int startIndex,
			@Param("pageSize") int pageSize);

	/**
	 * 查询我关注的达人、讲师、网红发布的期咨询
	 * 
	 * @author 卫耀华
	 * @param userId
	 * @param startIndex
	 * @param pageSize
	 * @return
	 */
	public List<TalentSerialDTO> selectAllTalentSerialUserLiked(@Param("userId") Long userId,
			@Param("startIndex") int startIndex, @Param("pageSize") int pageSize);

	/**
	 * 最新-count
	 * 
	 * @author 卫耀华
	 * @return
	 */
	public int countTalentSerialNew();

	/**
	 * 讲师-count
	 * 
	 * @author 卫耀华
	 * @return
	 */
	public int countTalentSerialByRoleId7();

	/**
	 * 达人-count
	 * 
	 * @author 卫耀华
	 * @return
	 */
	public int countTalentSerialByRoleId3456();

	/**
	 * 查询我关注的达人、讲师、网红发布的期咨询-count
	 * 
	 * @author 卫耀华
	 * @param userId
	 * @return
	 */
	public int countTalentSerialUserLiked(@Param("userId") Long userId);

	/**
	 * 讲师发布的期
	 * 
	 * @author 卫耀华
	 * @return
	 */
	public List<Integer> selectTalentSerialIdListByTalentId(@Param("talentId") long talentId);

	/**
	 * 发布达人期
	 * 
	 * @author 程哲权
	 * @return
	 */
	public int insertTalentSerialEditAndShare(@Param("talentId") long talentId,
			@Param("talentSerialId") long talentSerialId);
}
